﻿Public Class frmUsuarioLista

    Private mMantusuarioBS As BS.Usuarios
    Private mMantusuarioBE As BE.Usuarios
    Private mId As Integer

    Public Property Id() As Integer
        Get
            Return mId
        End Get
        Set(ByVal value As Integer)
            mId = value
        End Set
    End Property

    Private Sub frmUsuarioLista_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Refrescar()
    End Sub

    Private Sub bntRefrescar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bntRefrescar.Click
        Refrescar()
    End Sub

    Sub Refrescar()
        Dim UsuariosBS As Banco.BS.Usuarios
        UsuariosBS = New Banco.BS.Usuarios
        Me.dgLista.DataSource = UsuariosBS.Listar()
    End Sub

    Private Sub bntAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bntAgregar.Click
        Dim mantusuario As frmUsuarioAgregar
        mantusuario = New frmUsuarioAgregar
        mantusuario.ShowDialog()
        Refrescar()
    End Sub


    Private Sub bntEditar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bntEditar.Click

        Dim id As Integer

        If dgLista.SelectedRows.Count = 1 Then

            Dim dgvRow As DataGridViewRow

            For Each dgvRow In dgLista.SelectedRows

                id = dgvRow.Cells(0).Value

            Next
            Dim mantusuario As frmUsuarioEditar
            mantusuario = New frmUsuarioEditar
            mantusuario.Id = id
            mantusuario.ShowDialog()
            Refrescar()
        Else

            MessageBox.Show("Debes seleccionar una fila")
        End If

    End Sub

    'Private Sub bntBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInhabilitar.Click
    '    '    Dim frmFiltrar As New frmMantenimientoBasicoFiltrar
    '    '    Dim mantenimientoBasicoBS As New Ejemplo.BS.MantenimientoBasico
    '    '    Dim mantenimientoBasicoBE As New Ejemplo.BE.MantenimientoBasico


    '    '    If frmFiltrar.ShowDialog() = Windows.Forms.DialogResult.OK Then


    '    '        mantenimientoBasicoBE.Nombre = frmFiltrar.Nombre
    '    '        mantenimientoBasicoBE.Descripcion = frmFiltrar.Descripcion

    '    '        Me.dgLista.DataSource = Nothing
    '    '        Me.dgLista.DataSource = mantenimientoBasicoBS.Filtrar(mantenimientoBasicoBE)

    '    '    End If

    'End Sub


    Private Sub btnHabilitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHabilitar.Click
        Me.mMantusuarioBS = New BS.Usuarios

        If DatosValidos() Then

            If MessageBox.Show("Desea Cambiar de estado?", "Información", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
                If (Not mMantusuarioBS.Devolver(Id)) Then
                    MessageBox.Show("Problemas con el cambio")
                Else
                    Me.DialogResult = Windows.Forms.DialogResult.OK

                End If
            End If
        End If
        Refrescar()
    End Sub

    Function DatosValidos() As Boolean

        If dgLista.SelectedRows.Count = 1 Then

            Dim dgvRow As DataGridViewRow

            For Each dgvRow In dgLista.SelectedRows

                Id = dgvRow.Cells(0).Value
            Next
            
            Return True
        Else

            MessageBox.Show("Debes seleccionar una fila")
            Return False
        End If

        Return True
    End Function

    Private Sub btnInhabilitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInhabilitar.Click
        Me.mMantusuarioBS = New BS.Usuarios

        If DatosValidos() Then

            If MessageBox.Show("Desea Cambiar de estado?", "Información", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
                If (Not mMantusuarioBS.Devolver2(Id)) Then
                    MessageBox.Show("Problemas con el cambio")
                Else
                    Me.DialogResult = Windows.Forms.DialogResult.OK
                End If
            End If
        End If

    End Sub

    Private Sub btnFiltroHabilitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFiltroHabilitar.Click
        Dim UsuariosBs As Banco.BS.Usuarios
        UsuariosBs = New Banco.BS.Usuarios
        Me.dgLista.DataSource = UsuariosBs.ListarHabilitado()
    End Sub

    Private Sub btnFiltroInhabilitados_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFiltroInhabilitados.Click
        Dim UsuariosBs As Banco.BS.Usuarios
        UsuariosBs = New Banco.BS.Usuarios
        Me.dgLista.DataSource = UsuariosBs.ListarInhabilitado()
    End Sub
End Class